package org.front.shared.data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * Distributeur de boisson et snack
 * @author benjamin
 */
public class Distributeur implements Serializable {
	
	/** Serial */
	private static final long serialVersionUID = -6991767678959542506L;
	
	/** Les produits dans leur compartiment */
	private Map<String, Compartiment> mapCompartiment;

	/** La liste des transactions faite depusi le distributeur */
	private List<Transaction> listTransactions;
	
	/** La liste des produits disponible pour ce distributeur */
	private List<Produit> listProduits;

	/** Valeur courante lors d'un achat */
	private double achatCourant = 0.0;
	
	/** Numero de serie */
	private String numero;
	
	/** Model */
	private String model;
	
	/** Marque du distributeur */
	private String marque;
	
	/** Nombre de ligne (rayon) */
	private int nombreLigne;
	
	/** Nombre de colonne (rayon) */
	private int nombreColonne;

	/** Montant de la caisse */
	private double montantCaisse;
	
	/**
	 * @return the mapCompartiment
	 */
	public Map<String, Compartiment> getMapCompartiment() {
		return mapCompartiment;
	}

	/**
	 * @param mapCompartiment the mapCompartiment to set
	 */
	public void setMapCompartiment(Map<String, Compartiment> mapCompartiment) {
		this.mapCompartiment = mapCompartiment;
	}

	/**
	 * @return the listTransactions
	 */
	public List<Transaction> getListTransactions() {
		return listTransactions;
	}

	/**
	 * @param listTransactions the listTransactions to set
	 */
	public void setListTransactions(List<Transaction> listTransactions) {
		this.listTransactions = listTransactions;
	}
	
	/**
	 * @return the listProduits
	 */
	public List<Produit> getListProduits() {
		return listProduits;
	}

	/**
	 * @param listProduits the listProduits to set
	 */
	public void setListProduits(List<Produit> listProduits) {
		this.listProduits = listProduits;
	}

	/**
	 * @return the achatCourant
	 */
	public double getAchatCourant() {
		return achatCourant;
	}

	/**
	 * @param achatCourant the achatCourant to set
	 */
	public void setAchatCourant(double achatCourant) {
		this.achatCourant = achatCourant;
	}

	/**
	 * @return the numero
	 */
	public String getNumero() {
		return numero;
	}

	/**
	 * @param numero the numero to set
	 */
	public void setNumero(String numero) {
		this.numero = numero;
	}

	/**
	 * @return the model
	 */
	public String getModel() {
		return model;
	}

	/**
	 * @param model the model to set
	 */
	public void setModel(String model) {
		this.model = model;
	}

	/**
	 * @return the marque
	 */
	public String getMarque() {
		return marque;
	}

	/**
	 * @param marque the marque to set
	 */
	public void setMarque(String marque) {
		this.marque = marque;
	}

	/**
	 * @return the nombreLigne
	 */
	public int getNombreLigne() {
		return nombreLigne;
	}

	/**
	 * @param nombreLigne the nombreLigne to set
	 */
	public void setNombreLigne(int nombreLigne) {
		this.nombreLigne = nombreLigne;
	}

	/**
	 * @return the nombreColonne
	 */
	public int getNombreColonne() {
		return nombreColonne;
	}

	/**
	 * @param nombreColonne the nombreColonne to set
	 */
	public void setNombreColonne(int nombreColonne) {
		this.nombreColonne = nombreColonne;
	}

	
	public void addAchatCourant(double montant) {
		achatCourant = achatCourant + montant;
	}

	/**
	 * @return the montantCaisse
	 */
	public double getMontantCaisse() {
		return montantCaisse;
	}

	/**
	 * @param montantCaisse the montantCaisse to set
	 */
	public void setMontantCaisse(double montantCaisse) {
		this.montantCaisse = montantCaisse;
	}
		
}
